<!DOCTYPE html>
<html>
<head>
<title>首页</title>
#include("/admin/_common/head.html")
<style type="text/css">
.layui-card-header {
    font-size: 1.2em;
    font-weight: bold;
}
.pear-icon {
    font-size: 1.2em;
}
.layui-colla-content {
    display: none;
    padding: 10px 15px;
    line-height: 1.6;
    color: #5f5f5f;
}
.layui-card-header .pear-icon {
    color: blue;
}
.changelog .layui-colla-title {
    font-size: .9em;
    font-weight: bold;
}
</style>
</head>
<body class="pear-container">
<div class="layui-row layui-col-space15">
    <div class="layui-col-md9">
        <div class="layui-row layui-col-space10">
            <div class="layui-col-md7">
                <div class="layui-card">
                    <div class="layui-card-header"><i class="pear-icon pear-icon-electronics"></i> Youcan-Solon 管理平台 (#VERSION())</div>
                    <div class="layui-card-body">
                        <p>基于Solon框架的，功能类似Ruoyi的WEB脚手架应用。</p>
                        <p>此应用摒弃Spring臃肿框架，尽量多采用国产开源软件，符合国人习性，为不大会UI编程的后端程序员提供一个相对简单易上手的Web脚手架应用，简单熟悉后就可按自己习惯任意改造使用。</p>
                        <p>&nbsp;</p>
                        <p>Spring太过臃肿，灵活上还是让人不够满意，所幸遇见了Solon。它是纯国人开发的拥有自主生态的轻量级框架，与其号称的一致：启动快 5 ～ 10 倍；qps 高 2～ 3 倍；运行时内存节省 1/3 ~ 1/2；打包可以缩到 1/2 ~ 1/10；同时支持 jdk8, jdk11, jdk17, jdk20, graalvm native。</p>
                        <p>&nbsp;</p>
                        <p>特别鸣谢：<a href="https://gitee.com/noear/solon" target="_blank"><b>Solon</b></a>，一个非常灵活自如的框架。</p>
                        <p>&nbsp;</p>
                        <p>
                            <a type="button" class="pear-btn" href="https://gitee.com/gollyhu/youcan-solon" target="_blank"><i class="pear-icon pear-icon-operation"></i> 点此获取源码</a>
                            <a type="button" class="pear-btn pear-btn-primary layui-hide" href="#CTX()/admin/login?account=admin&password=123456" target="_blank"><i class="pear-icon pear-icon-home"></i> 点此进入管理平台</a>
                        </p>
                    </div>
                </div>
            </div>
            <div class="layui-col-md5">
                <div class="layui-card">
                    <div class="layui-card-header"><i class="pear-icon pear-icon-work"></i> 公司信息</div>
                    <div class="layui-card-body">
                        <blockquote class="layui-elem-quote">
                            以下数据来自于 #SITE("fullname") --> 系统管理 --> 系统参数 中参数类型为公司参数的参数项，可任意添加修改。
                        </blockquote>
                        <p>&nbsp;</p>
                        #CONFIGS("COMPANY")
                        #for(item : configs)
                        <p><b>#(item.name)</b>：#(item.value)</p>
                        #end
                        <p>&nbsp;</p>
                    </div>
                </div>
            </div>
            <div class="layui-col-md12">
                <div class="layui-row layui-col-space10">
                    <div class="layui-col-md5">
                        <div class="layui-card">
                            <div class="layui-card-header"><i class="pear-icon pear-icon-image-text"></i> 内置功能</div>
                            <div class="layui-card-body">
                                <p><i class="pear-icon pear-icon-select-bold"></i>&nbsp;<b>系统用户</b>：用户是系统操作者，该功能主要完成系统用户配置。</p>
                                <p><i class="pear-icon pear-icon-select-bold"></i>&nbsp;<b>系统角色</b>：角色菜单权限分配、设置角色按机构进行数据范围权限划分。</p>
                                <p><i class="pear-icon pear-icon-select-bold"></i>&nbsp;<b>系统权限</b>：配置系统菜单，操作权限，按钮权限标识等。</p>
                                <p><i class="pear-icon pear-icon-select-bold"></i>&nbsp;<b>行政部门</b>：配置系统组织机构（公司、部门、小组），树结构展现支持数据权限。</p>
                                <p><i class="pear-icon pear-icon-select-bold"></i>&nbsp;<b>公司岗位</b>：配置系统用户所属担任职务</p>
                                <p><i class="pear-icon pear-icon-select-bold"></i>&nbsp;<b>数据字典</b>：对系统中经常使用的一些较为固定的数据进行维护。</p>
                                <p><i class="pear-icon pear-icon-select-bold"></i>&nbsp;<b>系统参数</b>：对系统动态配置常用参数。</p>
                                <p><i class="pear-icon pear-icon-select-bold"></i>&nbsp;<b>通知公告</b>：系统通知公告信息发布维护。</p>
                                <p><i class="pear-icon pear-icon-select-bold"></i>&nbsp;<b>在线用户</b>：当前系统中活跃用户状态监控。</p>
                                <p><i class="pear-icon pear-icon-select-bold"></i>&nbsp;<b>定时任务</b>：在线（添加、修改、删除)任务调度包含执行结果日志。</p>
                                <p><i class="pear-icon pear-icon-select-bold"></i>&nbsp;<b>服务监控</b>：监视当前系统CPU、内存、磁盘、堆栈等相关信息。</p>
                                <p><i class="pear-icon pear-icon-select-bold"></i>&nbsp;<b>缓存监控</b>：对系统的缓存查询，删除、清空等操作。</p>
                                <p><i class="pear-icon pear-icon-select-bold"></i>&nbsp;<b>操作日志</b>：系统正常操作日志记录和查询；系统异常信息日志记录和查询。</p>
                                <p><i class="pear-icon pear-icon-select-bold"></i>&nbsp;<b>登录日志</b>：系统登录日志记录查询包含登录异常。</p>
                            </div>
                        </div>
                    </div>
                    <div class="layui-col-md7">
                        <div class="layui-card">
                            <div class="layui-card-header"><i class="pear-icon pear-icon-survey"></i> 技术选型</div>
                            <div class="layui-card-body">
                                <table class="layui-table" lay-skin="line">
                                    <colgroup>
                                        <col width="20%">
                                        <col width="20%">
                                        <col width="40%">
                                        <col>
                                    </colgroup>
                                    <thead>
                                        <tr>
                                            <th>技术框架</th>
                                            <th>框架名称</th>
                                            <th>框架说明</th>
                                            <th>相关网站</th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <tr>
                                            <td>后端框架</td>
                                            <td><a type="button" class="pear-btn pear-btn-xs" href="https://gitee.com/noear/solon" target="_blank">Solon</a></td>
                                            <td>Java 新的生态型应用开发框架，更小、更快、更简单！</td>
                                            <td><a type="button" class="pear-btn pear-btn-xs" href="http://solon.noear.org/" target="_blank">官网</a></td>
                                        </tr>
                                        <tr>
                                            <td>前端框架</td>
                                            <td><a type="button" class="pear-btn pear-btn-xs" href="https://gitee.com/pear-admin/Pear-Admin-Layui" target="_blank">Pear Admin Layui</a></td>
                                            <td>Pear Admin 是一款开箱即用的前端开发模板，扩展Layui原生UI样式，集成第三方开源组件，提供便捷快速的开发方式，延续 Admin 的设计规范。</td>
                                            <td><a type="button" class="pear-btn pear-btn-xs" href="http://www.pearadmin.com/" target="_blank">官网</a></td>
                                        </tr>
                                        <tr>
                                            <td>安全框架</td>
                                            <td><a type="button" class="pear-btn pear-btn-xs" href="https://gitee.com/dromara/sa-token" target="_blank">Sa-Token</a></td>
                                            <td>一个轻量级 Java 权限认证框架，让鉴权变得简单、优雅！</td>
                                            <td><a type="button" class="pear-btn pear-btn-xs" href="https://sa-token.cc/" target="_blank">官网</a></td>
                                        </tr>
                                        <tr>
                                            <td>缓存框架</td>
                                            <td><a type="button" class="pear-btn pear-btn-xs" href="http://solon.noear.org/article/16" target="_blank">solon.cache.jedis</a></td>
                                            <td>数据扩展插件，为 Solon Data 提供基于 jedis 的框架适配,主要实现 CacheService 接口。</td>
                                            <td><a type="button" class="pear-btn pear-btn-xs" href="http://solon.noear.org/article/16" target="_blank">文档</a></td>
                                        </tr>
                                        <tr>
                                            <td>模板引擎</td>
                                            <td><a type="button" class="pear-btn pear-btn-xs" href="http://solon.noear.org/article/104" target="_blank">solon.view.enjoy</a></td>
                                            <td>视图扩展插件，为 Solon View 提供基于 Jfinal Enjoy（代码仓库）的框架适配。</td>
                                            <td><a type="button" class="pear-btn pear-btn-xs" href="https://jfinal.com/doc/6-1" target="_blank">文档</a></td>
                                        </tr>
                                        <tr>
                                            <td rowspan="2">持久层框架</td>
                                            <td><a type="button" class="pear-btn pear-btn-xs" href="https://gitee.com/mybatis-flex/mybatis-flex" target="_blank">MyBatis-Flex</a></td>
                                            <td>一个优雅的 MyBatis 增强框架。</td>
                                            <td><a type="button" class="pear-btn pear-btn-xs" href="https://mybatis-flex.com/" target="_blank">官网</a></td>
                                        </tr>
                                        <tr>
                                            <td><a type="button" class="pear-btn pear-btn-xs" href="https://gitee.com/xuejm/easy-query" target="_blank">easy-query</a></td>
                                            <td>一款Java/Kotlin 语言下无依赖、高性能、轻量级、强类型的ORM框架支持分库分表读写分离。</td>
                                            <td><a type="button" class="pear-btn pear-btn-xs" href="https://xuejmnet.github.io/easy-query-doc/" target="_blank">文档</a></td>
                                        </tr>
                                        <tr>
                                            <td>定时任务</td>
                                            <td><a type="button" class="pear-btn pear-btn-xs" href="https://doc.hutool.cn/pages/cron/" target="_blank">Hutool-cron</a></td>
                                            <td>Hutool的定时任务模块。</td>
                                            <td><a type="button" class="pear-btn pear-btn-xs" href="https://doc.hutool.cn/pages/cron/" target="_blank">文档</a></td>
                                        </tr>
                                        <tr>
                                            <td>数据库连接池</td>
                                            <td><a type="button" class="pear-btn pear-btn-xs" href="https://github.com/brettwooldridge/HikariCP" target="_blank">HikariCP</a></td>
                                            <td>HikariCP 是一个高性能的 JDBC 连接池组件，号称性能最好的后起之秀，是一个基于BoneCP做了不少的改进和优化的高性能JDBC连接池。</td>
                                            <td><a type="button" class="pear-btn pear-btn-xs" href="https://github.com/brettwooldridge/HikariCP" target="_blank">官网</a></td>
                                        </tr>
                                        <tr>
                                            <td>工具类</td>
                                            <td><a type="button" class="pear-btn pear-btn-xs" href="https://gitee.com/dromara/hutool" target="_blank">Hutool</a></td>
                                            <td>Hutool是一个小而全的Java工具类库，通过静态方法封装，降低相关API的学习成本，提高工作效率，使Java拥有函数式语言般的优雅，让Java语言也可以“甜甜的”。</td>
                                            <td><a type="button" class="pear-btn pear-btn-xs" href="https://www.hutool.cn/" target="_blank">官网</a></td>
                                        </tr>
                                        <tr>
                                            <td>验证码</td>
                                            <td><a type="button" class="pear-btn pear-btn-xs" href="https://gitee.com/anji-plus/captcha" target="_blank">AJ-Captcha</a></td>
                                            <td>AJ-Captcha行为验证码，包含滑动拼图、文字点选两种方式，UI支持弹出和嵌入两种方式。</td>
                                            <td><a type="button" class="pear-btn pear-btn-xs" href="https://ajcaptcha.beliefteam.cn/captcha-doc/" target="_blank">官网</a></td>
                                        </tr>
                                    </tbody>
                                </table>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="layui-col-md3">
        <div class="layui-card">
            <div class="layui-card-header"><i class="pear-icon pear-icon-history"></i> 更新日志</div>
            <div class="layui-card-body changelog">
                <div class="layui-collapse" layui-filter="change-log" lay-accordion>
                    <div class="layui-colla-item">
                        <div class="layui-colla-title">正式发布 V1.1.1 (2023-09-12)</div>
                        <div class="layui-colla-content">
                            <p>1. @ProxyComponent改为@Component；</p>
                            <p>2. 补充Flex的Entity内容；</p>
                            <p>3. 修复缓存值删除按钮功能；</p>
                        </div>
                    </div>
                    <div class="layui-colla-item">
                        <div class="layui-colla-title">V1.1.0 (2023-09-06)</div>
                        <div class="layui-colla-content">
                            <p>1. 增加对easy-query的支持，并应用为默认ORM；</p>
                            <p>2. Action报告只在调试模式时打印；</p>
                            <p>3. 修改部分错误提示文本；</p>
                            <p>4. 修复新增部门和权限，不选定上级时不让新增的Bug；</p>
                            <p>5. 优化在线用户处理逻辑；</p>
                            <p>6. 删除部门时检查是否存在用户；</p>
                            <p>7. 按Solon作者的提议获取context-path；</p>
                            <p>8. 首页内容不再全宽；</p>
                            <p>9. 新增角色的同时，指派权限；</p>
                            <p>10. 暂时屏蔽掉数据范围，等数据权限考虑成熟后再放开；</p>
                            <p>11. 修改查询菜单项会出现重复的问题；</p>
                            <p>12. 部分页面细节调整；</p>
                            <p>13. 升级Layui版本到V2.8.16；</p>
                            <p>14. 升级mybatis-flex版本到V1.6.4；</p>
                            <p>15. 升级easy-query版本到V1.4.17；</p>
                        </div>
                    </div>
                    <div class="layui-colla-item">
                        <div class="layui-colla-title">正式发布 V1.0.0 (2023-08-14)</div>
                        <div class="layui-colla-content">
                            <p>正式版本发布；</p>
                        </div>
                    </div>
                    <div class="layui-colla-item">
                        <div class="layui-colla-title">V0.9.7 (2023-08-09)</div>
                        <div class="layui-colla-content">
                            <p>1. 换Druid驱动为HikariCP；</p>
                            <p>2. 更新数据库初始SQL；</p>
                            <p>3. Service中增加事务；</p>
                            <p>4. 实体中增加数据校验；</p>
                            <p>5. 若干优化；</p>
                            <p>6. 升级Layui版本到v2.8.13；</p>
                            <p>7. 升级Flex版本到v1.5.6；</p>
                        </div>
                    </div>
                    <div class="layui-colla-item">
                        <div class="layui-colla-title">V0.9.6 (2023-08-05)</div>
                        <div class="layui-colla-content">
                            <p>1. 优化pom.xml；</p>
                            <p>2. 页面模板增加CONFIGS指令；</p>
                            <p>3. 增加水印功能；</p>
                            <p>4. 规范Sevice接口方法命名；</p>
                            <p>5. 若干Bug修复；</p>
                            <p>6. 若干细节调整；</p>
                            <p>7. 部分结构性调整；</p>
                        </div>
                    </div>
                    <div class="layui-colla-item">
                        <div class="layui-colla-title">V0.9.5 (2023-08-03)</div>
                        <div class="layui-colla-content">
                            <p>1. 解决主题配色切换失败的问题；</p>
                            <p>2. 新增Fat打包配置；</p>
                            <p>3. 升级开源软件版本；</p>
                            <p>4. 开发和正式环境的配置文件分开；</p>
                            <p>5. flex的实现类分离到单独的Module，并预备对接easy-query；</p>
                            <p>6. pushAsync改为使用publishAsync；</p>
                            <p>7. Service不再继承自IService；</p>
                        </div>
                    </div>
                    <div class="layui-colla-item">
                        <div class="layui-colla-title">V0.9.4 (2023-07-28)</div>
                        <div class="layui-colla-content">
                            <p>1. 定时任务增加Cron表达式校验；</p>
                            <p>2. 优化权限存在子项不允许删除的逻辑；</p>
                            <p>3. 优化部门已分配于角色不允许删除的逻辑；</p>
                            <p>4. 重构页面脚本文件结构，将脚本提取成单独的文件；</p>
                            <p>5. 修正编辑用户时，归属部门没有为必选的问题；</p>
                            <p>6. 更新角色时，不再保存角色数据权限；</p>
                            <p>7. 修改若干页面中的文字，字段输入判定等；</p>
                            <p>8. 在线用户、登录日志功能补上Detail页面；</p>
                            <p>9. 使用 solon-parent 简化包管理（感谢Solon作者）；</p>
                            <p>10. 调整部分包依赖（感谢Solon作者）；</p>
                            <p>11. 将 app.onError 事件的异常转到日志框架（感谢Solon作者）；</p>
                            <p>UI做了结构性优化，可维护性和直观性得到提升。</p>
                        </div>
                    </div>
                    <div class="layui-colla-item">
                        <div class="layui-colla-title">V0.9.3 (2023-07-18)</div>
                        <div class="layui-colla-content">
                            <p>1. 将Tree表格的Js代码收纳到window_treeTable_script.js中；</p>
                            <p>2. 修正数据表格查询时，没有带上排序字段参数的问题；</p>
                            <p>3. 改树状表格的Checkbox为radio；</p>
                            <p>4. 页面细节调整；</p>
                            <p>5. 初始管理员账号和角色不允许删除；</p>
                            <p>6. 权限存在子项不允许删除；</p>
                            <p>7. 权限已分配于角色不允许删除；</p>
                            <p>8. 部门存在子项不允许删除；</p>
                            <p>9. 部门已分配于角色不允许删除；</p>
                            <p>10. 存在字典子项则不允许删除字典；</p>
                            <p>11. 系统参数不允许删除；</p>
                            <p>12. 前端页面脚本微调；</p>
                        </div>
                    </div>
                    <div class="layui-colla-item">
                        <div class="layui-colla-title">V0.9.2 (2023-07-13)</div>
                        <div class="layui-colla-content">
                            <p>1. 大幅度修改前端页面逻辑，基本统一前端代码；</p>
                            <p>2. 升级Flex版本；</p>
                            <p>3. 升级Layui版本；</p>
                            <p>4. 做局部调整；</p>
                            <p>UI应该不会有大的调整了，优化细节和修复Bug为主；
                        </div>
                    </div>
                    <div class="layui-colla-item">
                        <div class="layui-colla-title">V0.9.1 (2023-06-28)</div>
                        <div class="layui-colla-content">
                            <p>1. 修正保存时，后台Bug导致死循环的问题；</p>
                            <p>2. 优化页面中，查询和增删改操作时的数据表格的加载方式；</p>
                            <p>3. 增加页面中版本指令#("#VERSION()")；</p>
                            <p>4. 调整首页内容；</p>
                        </div>
                    </div>
                    <div class="layui-colla-item">
                        <div class="layui-colla-title">V0.9.0 (2023-06-27)</div>
                        <div class="layui-colla-content">
                            <p>发布Youcan-Solon演示版本。</p>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
#include("_common/foot.html")
<script type="text/javascript">
layui.use(['jquery'], function() {
    var $ = layui.jquery;
    
    $(document).ready(() => {
        $(".changelog .layui-colla-item:first .layui-colla-content").addClass("layui-show");
    });
});
</script>
</body>
</html>
